-
Notifications
You must be signed in to change notification settings - Fork 40
Introduce multi-slice NuGraph2 inference and filtering #868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Tag for integration release
Fixed a NuGraph crash if two hits had the same (time, wire) coordinates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose this executable and the other one to run on grid are meant to setup tritonserver on the grid/interactively respectibely, but I wanted to understand better what's the scope of both scripts and perhaps I'd recommend adding a short description to both in case people want to use them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this was actually introduced in the previous PR. These scripts are still under development so it's a bit premature to document them, but if needed we can add a brief description of the intended usage (but maybe not necessarily for this PR as it does not make any change to the scripts?).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps I'll clarify this on my own after checking the rest of the code, but I wanted to make sure what some of the labels refer to:
nuslhitsCryoE/W are the hits before nu-graph filtering
NuGraphCryoE/W I guess is a "global object/container" for all nu-graph related reconstruction
NCCSlicesCryoE/W is the "not clear cosmic" single slice considered as the neutrino candidate slice based on the trigger/optical flash
NGMultiSliceCryoE/W corresponds to nu-graph being applied to all non clear cosmic slices in a certain event
ngfilteredhitsCryoE/W corresponds to post-nu-graph-filtering hits
is this interpretation correct?
Perhaps, especially as far as NCCSlicesCryoE/W and NGMultiSliceCryoE/W are concerned at least, I'd add a comment to clarify/specify some details in the fhicl.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposed chain uses:
NCCSlicesCryoW/E: a collection of slices that are not tagged as clear cosmic by Pandora;NGMultiSliceCryoW/E: this runs NuGraph2 on multiple slices (here, the ones fromNCCSlicesCryoW/E) and provides objects and associations with NuGraph2 predictions;ngfilteredhitsCryoW/E: this filters the hits in each slice using the NuGraph2 filter score, and creates a new hit collection we then run Pandora over (the second-pass Pandora).
Thanks, we will add some comments and perhaps get rid of labels that we do not use anymore (nuslhitsCryoE/W and NuGraphCryoE/W were used to select the "triggering" slice and run NuGraph2 on a single slice).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you clarify how these two fhicl parameters set to false change the settings in pandora?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The bottom line is that, once PandoraPFA/larpandora PR #35 and PandoraPFA/LArContent PR #256 are merged in Pandora/LArSoft, there will be two fcl parameters (CollectHitPredictions and UseHitPredictions) to collect the information from NuGraph2 and inject it into Pandora.
More specifically, we added a new interface in Pandora (larpandora) to collect the hit-by-hit predictions from NuGraph2 at the second Pandora stage, after NuGraph2 was ran, and inject them into the hit object within Pandora (specifically, a LArCaloHit).
CollectHitPredictions steers whether we expect NuGraph2 information from the input we give to Pandora, and UseHitPredictions adds the information to the LArCaloHit.
This operation just adds more information that can be used in Pandora, but does not change the reconstruction (for that, we would need to actually use the information in any algorithm, and change the relevant XML).
I kept the parameters around just to remind us that there is this option, but they are commented out right now since the Pandora PRs are not yet merged. Specifically, false means that we do not inject the NuGraph2 information into Pandora (even if available): this can and will be changed once everything is ready.
This PR integrates additional NuGraph2 modules in ICARUS, including some that were already introduced in Giuseppe's icaruscode PR #815, on which this PR is based, as well as new modules designed to:
Along with the modules, a set of FHiCL files is provided. They are all based on the standard
v10_06_00_01p01configurations. Following the review of this PR, similar FHiCL files based ondevelopwill be provided.More information on NuGraph2 and its applications can be found in SBN DocDB #40585, #44208, Indico.
A companion PR to sbncode is available for dealing with CAF-making after the NG2 filter module (sbncode PR #616).
Associated PRs
Review
Tagging for review @acampani and @PetrilloAtWork as reconstruction and infrastructure experts. Thanks a lot!